package leetcode;

import java.util.HashMap;
/*
数组中占比超过一半的元素称之为主要元素。给定一个整数数组，找到它的主要元素。若没有，返回-1。

示例 1：

输入：[1,2,5,9,5,9,5,5,5]
输出：5

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/find-majority-element-lcci
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Test1710 {
    public int majorityElement(int[] nums) {
        HashMap<Integer,Integer> numCount=new HashMap<Integer, Integer>();
        int maxCount=0,index=0;
        for(int i=0;i<nums.length;i++){
            int val=0;
            if(numCount.containsKey(nums[i])){
                val =numCount.get(nums[i])+1;
            }
            else {
                val=1;
            }
            numCount.put(nums[i],val);
            if(maxCount<val) {
                maxCount = val;
                index=i;
            }
        }
        if(maxCount>nums.length/2)
            return nums[index];
        else
            return -1;
    }
}
